//
//  Tools.h
//  easymarketing
//
//  Created by HailongHan on 14/12/22.
//  Copyright (c) 2014年 cubead. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "NSString+Base64.h"

@interface Tools : NSObject

+(NSString *)base64String:(NSString *)str;
/**
 *  旋转动画
 *
 *  @param view        旋转的view
 *  @param duration    动画时间
 *  @param repeatCount 动画次数
 */
+ (void)animateWithRotate:(UIView *)view duration:(int)duration repeatCount:(int)repeatCount;

/**
 *  计算单行文本的高度和宽度
 *
 *  @param content  文本内容
 *  @param textSize 字体大小
 *
 *  @return CGSize 宽度和高度的结构体
 */
+ (CGSize)sizeOfSingleLineText:(NSString *)content withSize:(CGFloat)textSize;

+(CGSize)sizeOfSingleLineBoldText:(NSString *)content withSize:(CGFloat)textSize;


/**
 *  计算多行文本的高度和宽度
 *
 *  @param content  文本内容
 *  @param textSize 字体大小
 *  @param with     预设字体的宽度
 *
 *  @return 宽度和高度的结构体CGSize
 */
+ (CGSize)sizeOfMultiLineText:(NSString *)content withSize:(CGFloat)textSize withWidth:(CGFloat)with;


/**
 *  在屏幕中间显示数据
 *
 *  @param msg 内容
 */
+ (void)showMessageCenter:(NSString *)msg;

/**
 *  在屏幕底部显示数据
 *
 *  @param msg 内容
 */
+ (void)showMessageBottom:(NSString *)msg;

/**
 *  保存key-value键值对
 *
 *  @param value value值
 *  @param key   键
 */
+ (void)saveKeyValues:(id)value forKey:(NSString *)key;

/**
 *  根据key键值获取value
 *
 *  @param key 键
 *
 *  @return 返回值
 */
+ (id)getValueForKey:(NSString *)key;

/**
 *  打印json数据
 *
 *  @param data <#data description#>
 */
+ (void)printJsonStr:(id)data;

/**
 *  保存应用相关的数据。
 *  只支持： NSString, NSNumber, NSDate, NSArray, NSDictionary
 *
 *  @param objectData 要保存的对象数据
 *  @param key        对应的key
 */
+ (void)saveApplicationData:(id)objectData forKey: (NSString*)key;

/**
 *  获取保存的应用相关的数据
 *
 *  @param key 对应的key
 *
 *  @return 保存的对象数据
 */
+ (id)getApplicationData:(NSString*)key;

/**
 *  移除key对应的值
 *
 *  @param key key
 */
+ (void)removeApplicationDataByKey:(NSString *)key;

/**
 *  验证Email地址
 *
 *  @param key key
 */
+ (BOOL)validateEmail:(NSString *)email;

/**
 *  验证电话号码
 *
 *  @param key key
 */
+ (BOOL)validateMobile:(NSString *)mobile;

+ (NSString*)dictionaryToJson:(NSDictionary *)dic;

+ (NSString *)getExpireDateWithHour:(float) hour;

+ (NSString*)getResourceFullPath:(NSString*)path;

+ (NSURL*)getResourceFullPathURL:(NSString*)path;

/**
 *  验证是否是空串
 *
 *  @param string string
 */
+(BOOL)isEmpty:(NSString *)string;

@end
